<img src="https://wkq-img.oss-cn-chengdu.aliyuncs.com/20241213003200.png"/>

13 年 -15 年，我也是在非互联网的传统企业工作，与互联网相比这两类公司的工作模式有着非常大的差异。以承接需求来说，在传统行业工作的时候，我的需求都来自于带来我的项目经理。

项目经理会出去与对接的甲方聊本年度的需求，比如需要完成一个烟草精准打码项目，再聊完以后项目经理回来开始整理几千页的项目文档，因为几千万的项目就需要几千页的文档。项目确定了以后对应的研发就开始按照项目文档进行设计和开发了，最终开发完成以后到甲方现场开始实施部署一直到验收完成。


而在互联网从事开发工作，会有更多的角色，我们以承接需求的视角来看，涉及的角色包括：业务方、产品、运营、研发、测试，这些角色以及各项的负责人、系统架构师、风控等部门都会按照需求的大小不同而会被拉到一起进行项目 PRD 评审，并逐步到排期、研发上线。这里分别介绍下每一个角色在整个项目从研发到上线过程中的角色，方便大家了解在互联网做研发是一种怎样的工作模式。（当然每家互联网可能有不同的扁平化管理会略有差异）


## 业务



研发角度你所承接的需求，最开始并不是产品经理给你，而是业务方根据市场战略提出需求，这些需求的背后是依赖于某些战略落地的背景，完成目标结果，这个目标可能是拉新、促活、留存等等，最终在预期投入下完成价值产出。

## 产品

业务定需求、产品做方案，产品经理需要梳理方案执行落地的过程，协调各方部门配合完成项目开发。所以在 UI、前后端研发视角下，各处都有产品经理的身影。当产品经理把各方可配合的信息协调好后，就开始整理输出 PRD 文档，在整理完成后开始拉对应的项目需要的人员，组会一起评审 PRD。可能有些时候第一次 PRD 评审会遇到不少问题，如果不通过或者有问题，则需要 2、3 次评审。评审完成后交棒给研发。

## 研发

当产品经理的 PRD 评审通过后，按照项目的大小会有架构师、跨部门协同人员、项目开发人员、测试人员等进入到项目开发落地中。在这个阶段首先会有架构师确定整体的实现方案，再通过会议评审后，把需求拆分模块拆解分配到各个研发人员身上。再由研发人员进行细节设计，因为谁开发谁做细化设计，更能把握开发过程。在研发整体设计完成后，统一组会进行设计评审，这时候需要产品、运营、架构师、开发人员、UI 以及 leader，都会参会评审，评审内容包括：架构设计、细节设计、人员分工、开发时间、联调时间、测试时间、预发时间和上线节点，以及运营介入的时间和外部人员配合的时间。这些内容都在会议上确认完毕后，会由产品经理发出一个整体的项目计划甘特图，由各方人员知晓投入的时间节点以及确认工时投入和目标产出。好了，这些都确认好后，研发正式进入开发阶段，并每天有一次敏捷日会，来反馈风险和进度以及待推进完成的事项。

## 测试

当研发项目逐步接近尾声，并已经完成提测标准时候，有代码评审、有测试用例、有自行验证下，你项目所分配的测试人员就会开始编写测试用例并进入用例评审了。有些时候测试用例也会早于研发提测前就开始进行，当测试用例评审完成并已经拿到研发人员提测报告，那么测试就要开始进行第一轮冒烟测试了，完成后就是功能、流程和预发以及白名单测试。在测试的过程中测试人员会关注到每一个细节的节点，白盒测试人员还会关注代码实现流程。当测试工作完成以后，会提交测试报告，再由研发人员通知系统上线时间点，约定各方配合验证，最终发布到线上，交付产品和业务方进行验收。（后面就是运营要做的动作了）

## 运营


在测试和上线的过程中，运营人员会配合配置一些活动、玩法、券信息、息费、地图链路、视频等各项内容，来配合测试人员进行系统验证。在最终系统交付后也是需要运营人员进行处理各项运营动作，使用业务费用，完成业务目标，收集 GMV、UV、PV、获客、留存、转换等各项数据，用于分析效果和制定优化完善策略。

